/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package br.com.sgs.mb;

import br.com.sgs.auxiliar.InstituicaoAux;
import br.com.sgs.dao.AbstractDAO;
import br.com.sgs.dao.DAOInstituicao;
import br.com.sgs.entity.Instituicao;
import br.com.sgs.fachada.Fachada;
import br.com.sgs.fachada.IFachada;
import br.com.sgs.fachada.InstituicaoFachada;
import br.com.sgs.fachada.InstituicaoIFachada;
import java.io.Serializable;
import javax.annotation.PostConstruct;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import javax.faces.context.FacesContext;
import org.primefaces.component.inputmask.InputMask;
import org.primefaces.component.inputtext.InputText;

/**
 *
 * @author Eric
 */

@ManagedBean(name="instituicaoEditMB")
@ViewScoped
public class InstituicaoEditMB implements Serializable {
    
    //Campos que receberão as informações
    private InputText nome;
    private InputText nomefantasia;
    private InputMask cnpj;
    
    //Campos carregados do Editar
    private String strnome;
    private String strnomefantasia;
    private String strcnpj;
    
    private Instituicao institiocaoselecionada;
        
    /**
     * Creates a new instance of InstituicaoNew
     */
    public InstituicaoEditMB() {
    }
    
    @PostConstruct 
    public void init(){
        
         String param = FacesContext.getCurrentInstance().getExternalContext().getRequestParameterMap().get("idinstituicao");
            if (param != null) {

                InstituicaoIFachada ifach = new InstituicaoFachada();
                
                institiocaoselecionada =  ifach.findInstituicaoById(Integer.parseInt(param));
                if (institiocaoselecionada != null) {
                    setarCampos();
                }
                
            }
        
    }      

    public String salvar() {
        try {

            Instituicao in = institiocaoselecionada;

            in.setNome(nome.getValue().toString());
            in.setNomefantasia(nomefantasia.getValue().toString());
            in.setCnpj(cnpj.getValue().toString());

            IFachada ifach = new Fachada();
            ifach.alterar(in);

            return "INSTITUICAOLIST";

        } catch (Exception e) {
            System.err.println("Erro no método salvar");
            return null;
        }
    }
    
    public void limparCampos() {
        try {
            nome.setValue("");
            nomefantasia.setValue("");
            cnpj.setValue("");
        } catch (Exception e) {
            System.err.println("Erro no limpar campos");
        }
        
    }
    
     public void setarCampos() {
        try {

            setStrnome(institiocaoselecionada.getNome());
            setStrnomefantasia(institiocaoselecionada.getNomefantasia());
            setStrcnpj(institiocaoselecionada.getCnpj());

        } catch (Exception e) {
            System.err.println("Erro no metodo setarCampos!");
        }
    }
     
    public String voltar() {
        try {
            return "INSTITUICAOLIST";
        } catch (Exception e) {
            System.err.println("Erro no método voltar");
            return null;
        }
    }

    /**
     * @return the nome
     */
    public InputText getNome() {
        return nome;
    }

    /**
     * @param nome the nome to set
     */
    public void setNome(InputText nome) {
        this.nome = nome;
    }

    /**
     * @return the nomefantasia
     */
    public InputText getNomefantasia() {
        return nomefantasia;
    }

    /**
     * @param nomefantasia the nomefantasia to set
     */
    public void setNomefantasia(InputText nomefantasia) {
        this.nomefantasia = nomefantasia;
    }

    /**
     * @return the cnpj
     */
    public InputMask getCnpj() {
        return cnpj;
    }

    /**
     * @param cnpj the cnpj to set
     */
    public void setCnpj(InputMask cnpj) {
        this.cnpj = cnpj;
    }

    /**
     * @return the strnome
     */
    public String getStrnome() {
        return strnome;
    }

    /**
     * @param strnome the strnome to set
     */
    public void setStrnome(String strnome) {
        this.strnome = strnome;
    }

    /**
     * @return the strnomefantasia
     */
    public String getStrnomefantasia() {
        return strnomefantasia;
    }

    /**
     * @param strnomefantasia the strnomefantasia to set
     */
    public void setStrnomefantasia(String strnomefantasia) {
        this.strnomefantasia = strnomefantasia;
    }

    /**
     * @return the strcnpj
     */
    public String getStrcnpj() {
        return strcnpj;
    }

    /**
     * @param strcnpj the strcnpj to set
     */
    public void setStrcnpj(String strcnpj) {
        this.strcnpj = strcnpj;
    }

   

 
}
